package com.fc.happyteam.entity;

import com.fc.happyteam.utils.validator.dictionary.Dictionary;
import org.hibernate.validator.constraints.NotBlank;

import java.math.BigDecimal;

/**
 * Created by futurecreative on 2017/7/19.
 */
public class BoatEntity extends SkuEntity{

    /**
     * 船名
     */
    @NotBlank(message="船名不能为空")
    private String boatName;

    /**
     * 类别编号
     */
    private Long categoryId;

    /**
     * 船型
     */
    @Dictionary(codes = "boatType", message = "不是有效的boatType")
    private String boatType;

    /**
     * 尺寸
     */
    private int boatSize;

    /**
     * 吃水
     */
    private int draft;

    /**
     * 舷宽
     */
    private int width;

    /**
     * 单位
     */
    @Dictionary(codes = "boatUnit", message = "不是有效的unit")
    private String unit;

    /**
     * 载客人数
     */
    private int capacity;

    /**
     * 客舱数
     */
    private int cab;

    /**
     * 床位
     */
    private int beds;

    /**
     * 目的地
     */
    private String destination;

    /**
     * 停靠城市
     */
    private String location;

    /**
     * 拥有
     */
    @Dictionary(codes = "boatOwnship", message = "不是有效的ownership")
    private String ownership;

    /**
     * 制造商
     */
    private String builder;

    /**
     * 型号
     */
    private String model;

    /**
     * 是否配船长
     */
    private int hasCaptain;

    /**
     * 外舱设备
     */
    @Dictionary(codes = {"outdoorEquipment", "sanitaryFacility", "navigation", "onUnderWater", "kitchen", "digitalEquipment"},
            message = "含有无效的equip")
    private String equip;

    /**
     * 船身编号
     */
    private String hullNumber;


    /**
     *最高航速
     */
    private BigDecimal maxSpeed;

    /**
     *船价
     */
    private BigDecimal boatValue;

    /**
     *关于您的船
     */
    private String aboutBoat;

    /**
     *停船周边
     */
    private String aboutAround;

    /**
     *引擎品牌
     */
    private String engineBrand;

    /**
     *引擎型号
     */
    private String engineModel;

    /**
     *引擎制造商
     */
    private String engineMaker;

    /**
     *引擎数量
     */
    private String engineNum;

    /**
     *燃油类型
     */
    private String fuel;

    /**
     *油耗
     */
    private BigDecimal oilConsume;

    /**
     *马力
     */
    private int power;

    /**
     *经纬度
     */
    private String latlgt;

    public String getBoatName() {
        return boatName;
    }

    public void setBoatName(String boatName) {
        this.boatName = boatName;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public String getBoatType() {
        return boatType;
    }

    public void setBoatType(String boatType) {
        this.boatType = boatType;
    }

    public int getDraft() {
        return draft;
    }

    public void setDraft(int draft) {
        this.draft = draft;
    }

    public int getWidth() {
        return width;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public int getBoatSize() {
        return boatSize;
    }

    public void setBoatSize(int boatSize) {
        this.boatSize = boatSize;
    }

    public int getCapacity() {
        return capacity;
    }

    public void setCapacity(int capacity) {
        this.capacity = capacity;
    }

    public int getCab() {
        return cab;
    }

    public void setCab(int cab) {
        this.cab = cab;
    }

    public int getBeds() {
        return beds;
    }

    public void setBeds(int beds) {
        this.beds = beds;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getOwnership() {
        return ownership;
    }

    public void setOwnership(String ownership) {
        this.ownership = ownership;
    }

    public String getBuilder() {
        return builder;
    }

    public void setBuilder(String builder) {
        this.builder = builder;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public int getHasCaptain() {
        return hasCaptain;
    }

    public void setHasCaptain(int hasCaptain) {
        this.hasCaptain = hasCaptain;
    }

    public String getEquip() {
        return equip;
    }

    public void setEquip(String equip) {
        this.equip = equip;
    }

    public String getHullNumber() {
        return hullNumber;
    }

    public void setHullNumber(String hullNumber) {
        this.hullNumber = hullNumber;
    }

    public BigDecimal getMaxSpeed() {
        return maxSpeed;
    }

    public void setMaxSpeed(BigDecimal maxSpeed) {
        this.maxSpeed = maxSpeed;
    }

    public BigDecimal getBoatValue() {
        return boatValue;
    }

    public void setBoatValue(BigDecimal boatValue) {
        this.boatValue = boatValue;
    }

    public String getAboutBoat() {
        return aboutBoat;
    }

    public void setAboutBoat(String aboutBoat) {
        this.aboutBoat = aboutBoat;
    }

    public String getAboutAround() {
        return aboutAround;
    }

    public void setAboutAround(String aboutAround) {
        this.aboutAround = aboutAround;
    }

    public String getEngineBrand() {
        return engineBrand;
    }

    public void setEngineBrand(String engineBrand) {
        this.engineBrand = engineBrand;
    }

    public String getEngineModel() {
        return engineModel;
    }

    public void setEngineModel(String engineModel) {
        this.engineModel = engineModel;
    }

    public String getEngineMaker() {
        return engineMaker;
    }

    public void setEngineMaker(String engineMaker) {
        this.engineMaker = engineMaker;
    }

    public String getEngineNum() {
        return engineNum;
    }

    public void setEngineNum(String engineNum) {
        this.engineNum = engineNum;
    }

    public String getFuel() {
        return fuel;
    }

    public void setFuel(String fuel) {
        this.fuel = fuel;
    }

    public BigDecimal getOilConsume() {
        return oilConsume;
    }

    public void setOilConsume(BigDecimal oilConsume) {
        this.oilConsume = oilConsume;
    }

    public int getPower() {
        return power;
    }

    public void setPower(int power) {
        this.power = power;
    }

    public String getLatlgt() {
        return latlgt;
    }

    public void setLatlgt(String latlgt) {
        this.latlgt = latlgt;
    }
}
